#include "widget.h"
#include "ui_widget.h"

// 实现自定义槽函数
#include <QPushButton>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    QPushButton* button = new QPushButton("按钮" , this);
    button->move(100, 100);

    connect(button , &QPushButton::clicked , this , &Widget::handleClicked);

    // ui创建的按钮 有两种方式实现自定槽函数的调用
    // 第一种：
    connect(ui->pushButton , &QPushButton::clicked , this , &Widget::handleClicked);
}

Widget::~Widget()
{
    delete ui;
}

// 处理点击按钮这个信号
void Widget::handleClicked()
{
    // 点击按钮之后，修改其窗口标题
    this->setWindowTitle("自定义槽函数:");
}

// 第二种方式
// 这个是在ui中创建的按钮 右键之后点击“转到槽” QT自动通过函数名字的方式来自动连接
// 在ui_widget.h 中自动生成C++代码 调用connectSlotsByName
void Widget::on_pushButton_clicked()
{
    ui->pushButton->setText("ui自动通过函数名字来自动链接");
}

